//
// Created by zhengbo on 23-4-18.
//

#ifndef VISUALIZATION_TOOL_SCENEMANAGER_H
#define VISUALIZATION_TOOL_SCENEMANAGER_H

#include <eigen3/Eigen/Core>

using Point = Eigen::Vector3f;
using Vector3f = Eigen::Vector3f;

class RenderObject {

public:
    RenderObject() = default;

    virtual ~RenderObject() = default;

    RenderObject(RenderObject &obj) = default;

    virtual void InitBuffer() = 0;

    virtual void ReleaseBuffer() = 0;

    virtual void Update() = 0;

    virtual void Render() = 0;
};

#endif //VISUALIZATION_TOOL_SCENEMANAGER_H
